User loginNavigation |
Generics of a Higher KindGenerics of a Higher Kind. Adriaan Moors, Frank Piessens, and Martin Odersky.
Many readers will already be aware that Scala has added support for higher-kinded generics, related to Haskell's type constructor classes. I believe Scala is the first language to provide this capability in an OO "generics" framework. This ECOOP submission presents this work, with many practical examples. (Consider this penance for my last post...) By Matt Hellige at 2007-12-20 19:54 | Object-Functional | Scala | 3 comments | other blogs | 47136 reads
A Dialogue on InfinityA Dialogue on Infinity, between a mathematician and a philosopher. Alexandre Borovik and David Corfield. A new blog... From the first post:
This is pretty far out for LtU, but I suspect it will interest some more philosophically inclined readers. They will look at a number of disciplines, including computer science. (I feel like maybe even "Theory" is not theoretical for this. Therefore I am also calling it "Fun".) Closing the Stage: From Staged Code to Typed ClosuresYukiyoshi Kameyama, Oleg Kiselyov, Chung-chieh Shan. Closing the Stage: From Staged Code to Typed Closures. PEPM'08. (code)
Essentially, representation of staged programs in an unstaged language turns out to be related to typechecking/typed compilation: typechecking is a stage. While this basic idea is straightforward, the work presented in the paper is rather intricate and depends on previous work on typed compilation. Oleg will be able to put this work in context in the forum, hopefully. By Ehud Lamm at 2007-12-17 03:17 | Meta-Programming | Type Theory | 9 comments | other blogs | 11782 reads
Avi Bryant: Ruby IS-A SmalltalkA short audio presentation (Avi speaks for less than ten minutes, I guess), about the lessons the Ruby community should learn from Smalltalk. It's mainly about turtles-all-the-way-down, but Self (fast VMs), GemStone (transactional distributed persistence), Seaside (web frameworks) are also mentioned briefly. By Ehud Lamm at 2007-12-12 03:59 | History | Implementation | OOP | Ruby | 39 comments | other blogs | 22748 reads
CUFP write-upA write-up of the Commercial Users of Functional Programming meeting held this October is available, for those of us who didn't attend. The write-up is well written and thought provoking (it was written by Jeremy Gibbons, so that's not a surprise). The goal of the Commercial Users of Functional Programming series of workshops is to build a community for users of functional programming languages and technology. This, the fourth workshop in the series, drew 104 registered participants (and apparently more than a handful of casual observers). It is often observed that functional programming is most widely used for language related projects (DSLs, static analysis tools and the like). Part of the reason is surely cultural. People working on projects of this type are more familiar with functional programming than people working in other domains. But it seems that it may be worthwhile to discuss the other reasons that make functional languages suitable for this type of work. There are plenty of reasons, many of them previously discussed here (e.g., Scheme's uniform syntax, hygiene, DSELs), but perhaps the issue is worth revisiting, seeing as this remains the killer application for functional programming, even taking into account the other types of project described in the workshop. By Ehud Lamm at 2007-12-12 02:47 | DSL | Functional | Teaching & Learning | 20 comments | other blogs | 12002 reads
S has a left inverseAnd Shin-Cheng Mu gives a rather accessible algebraic proof. There's lots to say about this observation, but apart from saying I was surprised by it, I will leave comment to the comments. Computation Orchestration: A Basis for Wide-Area ComputingComputation Orchestration: A Basis for Wide-Area Computing, Jayadev Misra and William Cook. JSSM 2006.
The idea of orchestration languages is one of the good ideas to come out of the web services world. Orc is an elegant little process-calculus-inspired programming language that illustrates and embodies the key ideas, and I'd recommend studying it to anyone who has even a passing inclination to design languages or libraries for "mashup" style programming. By neelk at 2007-12-10 23:17 | Parallel/Distributed | Semantics | 28 comments | other blogs | 16874 reads
How to write your next POPL paper in CoqIf this sounds like a worthy goal, or if you are simply interested in the use of proof assistants for rogramming language research, you don't want to miss upcoming tutorial. Democratizing the Cloud using Microsoft Live Labs VoltaNearly two years ago I posted Beyond LINQ: A Manifesto For Distributed Data-Intensive Programming on this forum. Now, within a period of a few weeks, both LINQ as well as a rather different realization of my original post-LINQ plans are shipping. I am particularly proud to announce that a community preview of Volta is available for immediate download from http://labs.live.com/volta/. Volta is a collection of tools that enable programmers to develop asynchronous and distributed (including but not limited to AJAX) applications by successive refactoring of normal, sequential, programs written in standard .NET languages (this CTP requires Visual Studio 2008) and deploy the resulting applications on a wide variety of target platforms (this CTP supports Internet Explorer and FireFox). Or as I sometimes say when I am trying to sound like a marketing person “ Volta stretches the .NET platform to cover the Cloud.†Volta allows programmers to concentrate on the essential complexity involved in building AJAX application and have our tools take care of the gory details and accidental complexity.
When using Volta, programmers can specify their intent of running certain classes on the server by decorating the class declaration using a Volta embraces the Lean Programming principle of delaying irreversible decisions until the last possible responsible moment. In particular we want to delay decisions about distribution as long as possible. To help developers make informed decisions about the distribution a program across tiers, the Rotunda profiler from MSR is fully integrated in the Volta toolchain. By automatically injection hooks for all interesting events, Rotunda creates trace information that can be inspected using the standard Service Trace Viewer tool. When I speak about Volta or show a demo, the best compliment I can get is when people say this is “trivial†or “really straightforwardâ€. The best tools are those that do their work unobtrusive hidden in the background. Anyway, with the holidays around the corner you may have some spare cycles to give Volta a spin and let us know what you think! Concurrency: The Compiler Writer's PerspectiveA short interview with Brian Grant (of PeakStream and currently Google). From SD Times, Nov. 15, 2007.
By Tommy McGuire at 2007-12-04 19:17 | Implementation | Parallel/Distributed | 6 comments | other blogs | 8750 reads
|
Browse archives
Active forum topics |
Recent comments
2 weeks 3 days ago
2 weeks 3 days ago
2 weeks 5 days ago
2 weeks 5 days ago
3 weeks 3 days ago
3 weeks 3 days ago
3 weeks 3 days ago
6 weeks 3 days ago
7 weeks 2 days ago
7 weeks 2 days ago